<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="box">123123</div>
</body>
<script>
    // arguments   函数的内置参数 在函数调用过程中,用于存放实际参数的集合
    // this 函数的内置参数, 指向函数调用过程中,依存的对象
    // 1. 普通函数(命名函数和匿名函数) 如果没有依存的对象 this默认都指向window
    // 2. 函数在调用时属于谁(对象) 就指向谁    obj.fn  btn.onclick (事件中的this指向绑定事件的元素)

    function fn() {
        console.log(this);
    }

    var arr = [1, 2, 3, fn];
    var obj = {
        a: 1,
        b: 2,
        fn: fn,
    }
    document.onclick = fn;   // 事件中的this指向绑定事件的元素

    fn();
    arr[3]();
    obj.fn();

    /*  var fn = function () {
         console.log(this);
     }
     fn();
 
 
     var arr = [1, 2, function () {
         // this -> arr
         return this[0] + this[1];
     }];
 
     var result = arr[2]();
     console.log(result);
 
 
     var obj = {
         a: 1,
         b: 2,
         add: function () {
             console.log(this);
             return this.a + this.b;
         }
     }
     var result = obj.add();
     console.log(result);
 
     var box = document.getElementsByClassName("box")[0];
     box.onclick = function () {
         console.log(this);
     } */


</script>

</html>